컴포넌트 다이어그램
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
컴포넌트 다이어그램은 시스템의 구성 요소를 시각적으로 표현하는 UML 다이어그램의 한 종류이다. 컴포넌트, 포트, 인터페이스 등의 요소를 사용하여 시스템의 구조와 각 요소 간의 관계를 나타낸다. 컴포넌트는 독립적인 모듈을 나타내며, 사각형으로 표현된다. 인터페이스는 컴포넌트가 제공하거나 요구하는 기능을 정의하며, 롤리팝 또는 소켓 표기법을 사용하여 표현한다. 컴포넌트 간의 관계는 의존 관계와 위임으로 표현될 수 있으며, 파선 화살표 또는 실선과 소켓을 사용하여 나타낸다.
더 읽어볼만한 페이지
- 통합 모델링 언어 - 유스 케이스
유스 케이스는 시스템과 액터 간 상호작용을 통해 시스템 목표 달성에 기여하는 동작들을 나타내는 요구 사항 캡처, 모델링, 명세 기법으로, 객체 지향 소프트웨어 공학에서 기능 요구 사항을 캡처하는 데 중요한 역할을 하며 다양한 분야에서 활용된다. - 통합 모델링 언어 - 모델 기반 개발
모델 기반 개발은 모델을 활용하여 소프트웨어 및 시스템을 개발하는 접근 방식이며, 컴퓨터 지원 소프트웨어 공학 도구에서 시작하여 통합 모델링 언어와 모델 중심 아키텍처 표준을 거쳐 발전했다. - 컴포넌트 기반 소프트웨어 공학 - 컴포넌트 오브젝트 모델
컴포넌트 오브젝트 모델(COM)은 마이크로소프트에서 개발한 소프트웨어 컴포넌트 기술로, 서로 다른 애플리케이션이 객체를 통해 통신하고 기능을 공유할 수 있도록 하는 이진 인터페이스 표준을 제공하며, 다양한 프로그래밍 언어로 작성된 객체들의 상호 운용을 지원한다. - 컴포넌트 기반 소프트웨어 공학 - 공통 객체 요구 매개자 구조
공통 객체 요구 매개자 구조(CORBA)는 객체 관리 그룹(OMG)에서 분산 컴퓨팅 환경에서 객체 지향 기술을 통합하기 위해 제정한 표준 아키텍처로서, 객체 요청 브로커(ORB)를 통해 객체 간 통신을 제공하고 다양한 서비스를 지원한다.
컴포넌트 다이어그램 | |
---|---|
개요 | |
종류 | UML 구조 다이어그램 |
목적 | 시스템의 컴포넌트 간의 조직 및 종속성을 보여줌 |
용도 | 시스템 아키텍처 모델링 컴포넌트 기반 개발 시스템 배포 계획 |
상세 정보 | |
컴포넌트 | 시스템의 모듈식 부분, 인터페이스를 통해 기능을 제공하고 사용함 |
인터페이스 | 컴포넌트가 다른 컴포넌트와 상호 작용하는 방법을 정의함 |
종속성 | 컴포넌트 간의 관계, 한 컴포넌트가 다른 컴포넌트에 의존함을 나타냄 |
포트 | 컴포넌트와 외부 환경 간의 상호 작용 지점 |
표현 방법 | |
표기법 | 박스, 원, 화살표 등을 사용하여 컴포넌트, 인터페이스, 종속성을 나타냄 |
스테레오타입 | << 라이브러리 >>, << 실행 파일 >> 등 특정 유형의 컴포넌트를 나타냄 |
관련 개념 | |
아키텍처 | 시스템의 전체 구조와 컴포넌트 간의 관계를 정의함 |
모듈화 | 시스템을 독립적인 모듈로 분할하여 개발 및 유지 보수를 용이하게 함 |
캡슐화 | 컴포넌트의 내부 구현을 숨기고 인터페이스를 통해서만 접근을 허용함 |
2. 구성 요소
컴포넌트 다이어그램은 시스템의 요구 기능이 적절한지 확인하고, 개발자와 시스템 관계자 간의 소통을 돕는 데 사용된다. 프로그래머와 개발자는 이를 통해 구현 로드맵을 만들고, 시스템 관리자는 논리적 소프트웨어 컴포넌트와 관계를 파악하여 향후 계획을 세울 수 있다.
컴포넌트 다이어그램은 모든 시스템의 구조를 설계하고 기술할 수 있으며, 대규모 프로젝트에서 시스템 전체를 조망하는 데 유용하다. UML 1.x에서는 대규모 시스템 개발에 충분히 대응하지 못했지만, UML 2.0 이후 대폭 개정되었다.
컴포넌트는 파일, 헤더, 라이브러리, 모듈, 실행 파일, 패키지 등 물리적인 구성 요소를 나타낼 수 있다.
'''관계'''는 컴포넌트 다이어그램에서 표현할 수 있는 논리적인 연결의 종류를 총칭하는 용어이다.
2. 1. 컴포넌트
컴포넌트는 단순한 직사각형으로 표현한다 (UML 1.x에서는 직사각형에서 두 개의 작은 직사각형이 왼쪽에 돌출된 형태로 표현했다). UML 2.0에서는 UML 1.x에서 사용하던 그림을 스테레오타입 <2. 2. 포트
포트는 컴포넌트의 한 면에서 돌출된 사각형으로 표현한다.[3] 포트는 암묵적으로 또는 명시적으로 서브 컴포넌트로부터 제공되는 인터페이스에 위임하고 있음을 표현할 수 있다.2. 3. 인터페이스
인터페이스는 컴포넌트가 제공하거나 요구하는 기능을 정의한다. 클래스 다이어그램과 유사하게 사각형 구획 내에 인터페이스를 나열하거나(<컴포넌트에서 제공하는 인터페이스는 인터페이스 이름을 레이블로 표시한 "롤리팝" (또는 볼)에서 인터페이스를 사용하는 컴포넌트까지 실선으로 표시한다. 컴포넌트에서 필요로 하는 인터페이스는 인터페이스 이름을 레이블로 표시한 반원 또는 "소켓"으로 표시되며, 이 인터페이스가 필요한 컴포넌트에 실선으로 연결된다.
두 컴포넌트 사이의 종속성을 나타내려면 소켓과 롤리팝을 연결하는 "열린 화살표"가 있는 "실선"을 사용한다.[1]
3. 관계
'''관계'''는 논리적인 연결의 종류를 총칭하는 용어이다. 컴포넌트 다이어그램에서는 컴포넌트 간의 의존 관계, 위임 관계를 표현할 수 있다.
3. 1. 의존 관계
컴포넌트 다이어그램에서는 컴포넌트 간의 의존 관계를 나타낼 수 있다.의존 관계의 스테레오타입에는 포함하고 있음을 나타내는 <
해당 컴포넌트가 필수적으로 사용하는 인터페이스에 대한 의존 관계는 파선이 아닌 실선으로 표현한다. 또한, 끝 부분은 화살표가 아닌 로리팝을 덮는 반원(소켓) 형태로 표현한다.[1]
3. 2. 위임
위임은 부모 컴포넌트와 자식 컴포넌트 간의 관계를 표현한다.부모 컴포넌트의 인터페이스가 자식 컴포넌트의 인터페이스로 위임되거나, 부모 컴포넌트의 필수 인터페이스가 자식 컴포넌트의 필수 인터페이스가 되는 것을 나타낸다.
각각 부모 컴포넌트의 인터페이스에서 자식 컴포넌트의 인터페이스로, 자식 컴포넌트의 필수 인터페이스에서 부모 컴포넌트의 필수 인터페이스로 화살표를 사용하여 표현한다.
4. 다이어그램 요소 (Diagram elements)
컴포넌트 다이어그램은 컴포넌트가 제공하고 요구하는 인터페이스를 명확하게 표현하기 위해 다양한 표기법을 사용한다. 인터페이스를 표시하는 일반적인 방법에는 컴포넌트 요소에 부착된 사각형 구획을 사용하는 것과 볼 앤 소켓 그래픽 표기법이 있다.[3]
4. 1. 볼 앤 소켓 표기법 (Ball and Socket Notation)
볼 앤 소켓 그래픽 표기법은 인터페이스를 나타내는 한 가지 방법이다.[3] 컴포넌트가 제공하는 인터페이스는 "롤리팝"(흰색 원)으로 표현하며, 관련된 컴포넌트에 실선으로 연결하고 롤리팝에는 인터페이스 이름을 기술한다. 컴포넌트에서 인터페이스로의 ''제공된'' 종속성은 인터페이스 이름을 레이블로 표시한 "롤리팝"에서 인터페이스를 사용하는 컴포넌트까지의 실선으로 표시된다.컴포넌트가 필요로 하는 인터페이스는 소켓(반원)으로 표현하며, 소켓과 컴포넌트를 실선으로 연결한다 (소켓은 2.0부터 도입되었다). 컴포넌트에서 인터페이스로의 ''요구된'' 사용 종속성은 이 인터페이스가 필요한 컴포넌트에 실선으로 연결된, 인터페이스 이름을 레이블로 표시한 "소켓"으로 표시된다. 상속된 인터페이스는 이름 레이블 앞에 "캐럿" 기호가 있는 롤리팝으로 표시할 수 있다.
두 컴포넌트 간의 종속성을 나타내려면 소켓과 롤리팝을 연결하는 "열린 화살표"가 있는 "실선"을 사용한다.[1]
참조
[1]
서적
Unified Modeling Language 2.5.1
https://www.omg.org/[...]
"[[Object Management Group]] Standards Development Organization (OMG SDO)"
2017-12
[2]
웹사이트
UML basics: The component diagram
https://www.ibm.com/[...]
IBM Developer
2004-12-15
[3]
웹사이트
UML basics: The component diagram
https://www.ibm.com/[...]
IBM Developer
2019-06-15
[4]
간행물
OMG Unified Modeling Language (UML), V2.5
http://www.omg.org/s[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com